Field of the Invention
The present invention relates in general to the field of information handling system communications, and more particularly to multi-stream container information communication between information handling systems.
Description of the Related Art
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
One difficulty with practical use of information handling systems by an end user is the communication of multimedia information from an information handling system server to an information handling system client of the end user in a format that is presentable to the end user. Industry has developed various standards that aid in streaming and file copy support across different types of information handling systems, such as televisions, game consoles, smartphones and tablets. For example, Universal Plug N Play (UPNP) and Digital Living Network Alliance (DLNA) offer compatibility between different types of information handling systems for communicating multimedia information, such as audiovisual movies, pictures and music in various formats. Although multimedia information is communicated in compatible formats, a difficulty remains in that different types of information handling systems have different types of capabilities for presentation of information, such as different display resolutions, bitrates and codecs for presenting the information. For example, an SD resolution presents of visual information as images at a smartphone versus an HD resolution for presentation in high definition at a television.
In order to provide information to an information handling system client that matches the client's capabilities, a server will often either transcode information from a stored format to a format supported by the client or will store separate versions of the information for each type of supported client. Transcoding is expensive from a processing standpoint, tends to produce lower quality presentations and is often difficult to setup and unstable to execute. Storing multiple versions of the same information creates difficulties in the cataloging, searching and finding of a correct version for each type of client. One solution to address storage of multimedia content in multiple formats is the use of a “container” that stores multiple audio, video and subtitle streams so that a complete copy of multimedia content in multiple formats is kept in a single file. One example of a container is that offered by Matroska, an open standards project. The Matroska container does not define a video or audio compression format, but rather defines an envelope that stores multiple formats in a flexible and cross-platform container in combination with an open codec API. However, streaming of content from multi-stream containers is rarely supported by clients due to the waste of bandwidth involved in the communication of streams not supported by the client. One alternative is Scalable Video Coding (SVC), which provides a subset bitstream having a lower quality presentation. However, SVC requires new codecs and is not backwards compatible with existing codecs.